/*******************************************************************************
* 
*    Copyright(C) 2020 WINTOP All rights reserved.
* 
* File        : hal_adc.h
* Author      : BX
* Version     : V1.00
* Date        : 2020-1-1
* Description : ADC
* Chip        : HC32
* History     : V1.00, 2020-1-1, bx, first version

* Disclaimer  :
*   本程序所有权归作者所有。
*   本程序仅用于演示或实现特定产品的功能，任何修改或其它目的的应用均不作保证，
*   未经作者同意不得将本程序的全部或部分用于商业目的。
*******************************************************************************/
#ifndef __HAL_ADC_H__
#define __HAL_ADC_H__


////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// 基本操作
////////////////////////////////////////////////////////////////////////////////
typedef struct
{
    en_adc_mode_t mode;
    
    en_adc_ref_vol_sel_t ref;
    en_adc_op_buf_t op_buffer;

    uint8_t convert_time;
}
HAL_ADC_PARAM;

#define HAL_ADC_MODE_SINGLE     0


void hal_adc_init(HAL_ADC_PARAM *param);

void hal_adc_init_port(en_adc_samp_ch_sel_t channel);
void hal_adc_select_channel(en_adc_samp_ch_sel_t channel);

uint32_t hal_wait_result(void);
uint32_t hal_adc_get_result(void);
uint32_t hal_get_single_result(en_adc_samp_ch_sel_t channel);

void hal_adc_start(void);
void hal_adc_stop(void);

void hal_adc_set_mode(void);
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////


#endif /* __HAL_ADC_H__ */


